package com.yunyao.framework.vo.sale;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author xingjishuai
 * @date 2024-07-11
 */
@Data
public class SaleContractInfoVO implements Serializable {
    private static final long serialVersionUID = -7247769065592389953L;
    /**
     * ID
     */
    private String id;
    /**
     * 合同类型0主合同1补充合同
     */
    private String contractType;


    /**
     * 合同方式0电线电缆及光纤光缆 1 电梯及扶梯
     */
    private String contractMethod;

    /**
     * 采购单位ID
     */
    private String purchaseDeptId;

    /**
     * 采购单位名称
     */
    private String purchaseDeptName;

    /**
     * 所属单位ID
     */
    private String projectDeptId;

    /**
     * 所属单位名称
     */
    private String projectDeptName;

    /**
     * 项目ID
     */
    private String projectId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 项目所属地址
     */
    private String projectAddress;

    /**
     * 项目经理ID
     */
    private String projectManagerId;

    /**
     * 项目经理
     */
    private String projectManager;
    /**
     * 项目经理电话号码
     */
    private String projectManagerPhone;

    /**
     * 供应商品类ID
     */
    private String supplierCategoryId;

    /**
     * 供应商品类名称
     */
    private String supplierCategoryName;

    /**
     * 供应商厂商ID
     */
    private String supplierDeptId;

    /**
     * 供应商厂商名称
     */
    private String supplierDeptName;
    /**
     * 供应商ID
     */
    private String supplyDeptId;

    /**
     * 供应商名称
     */
    private String supplyDeptName;
    /**
     * 询价单号
     */
    private String inquiryNo;

    /**
     * 合同编号
     */
    private String contractNo;

    /**
     * 合同名称
     */
    private String contractName;

    /**
     * 采购负责人ID
     */
    private String purchasePersonId;

    /**
     * 采购负责人
     */
    private String purchasePersonName;

    /**
     * 采购负责人电话
     */
    private String purchasePhone;

    /**
     * 是否允许超过合同材料数量0不允许 1允许
     */
    private Integer isNumFlag;

    /**
     * 是否允许超过合同含税金额0不允许 1允许
     */
    private Integer isPriceFlag;

    /**
     * 合同总量
     */
    private BigDecimal contractNum;

    /**
     * 签订日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date signDate;

    /**
     * 回款截止日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date paymentDeadlineDate;

    /**
     * 合同总额含税（元）
     */
    private BigDecimal contractTotalPrice;

    /**
     * 合同总额实际含税（元）
     */
    private BigDecimal contractTotalRealPrice;

    /**
     * 合同总额实际含税备注
     */
    private String contractTotalRealPriceMark;

    /**
     * 合同备注
     */
    private String mark;

    /**
     * 合同文件
     */
    private String contractFile;

    /**
     * 主合同ID
     */
    private String mainContractId;

    /**
     * 主合同编号
     */
    private String mainContractNo;

    /**
     * 主合同名称
     */
    private String mainContractName;

    /**
     * 流程实例ID
     */
    private String processInstanceId;

    /**
     * 流程设计模板信息ID
     */
    private String modelSchemeInfoId;

    /**
     * 流程部署ID
     */
    private String deploymentId;

    /**
     * 流程版本
     */
    private String processVersion;
}
